<cfcomponent output="false" extends="validateThis.server.AbstractServerRuleValidator" hint="I am responsible for performing the Boolean validation.">

	<cffunction name="validate" returntype="any" access="public" output="false" hint="I perform the validation returning info in the validation object.">
		<cfargument name="validation" type="any" required="yes" hint="The validation object created by the business object being validated." />
		<cfargument name="locale" type="string" required="yes" hint="The locale to use to generate the default failure message." />

		<cfset var base = new assets.calgrants.com.Base()>
		<cfset var args = [arguments.validation.getPropertyDesc()] />
        <cfset var earliestStartDate = "01/03/" & listLast(base.getCurrentProgramYear(), '-') />
        <cfset var latestEndDate = "03/02/" & listLast(base.getCurrentProgramYear(), '-') />

		<cfif shouldTest(arguments.validation) AND (arguments.validation.getObjectValue() GT latestEndDate OR arguments.validation.getObjectValue() LT earliestStartDate)>
			<cfset fail(arguments.validation, arguments.validation.getPropertyDesc() & " falls outside of acceptable date range for workshops.  Acceptable range is on or between January 3rd and March 2nd.") />
		</cfif>
	</cffunction>
	
</cfcomponent>
	

